﻿using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Storage;

namespace BenevolentSunData
{
    class SwitchEffectWrapper
    {

        #region Shader Properties
        AmbientLight ambientLight;
        public AmbientLight AmbientLight
        {
            get { return ambientLight; }
        }

        List<DirectionalLight> directionalLights;
        public List<DirectionalLight> DirectionalLights
        {
            get { return directionalLights; }
        }

        List<PointLight> pointLights = new List<PointLight>();
        public List<PointLight> PointLights
        {
            get { return pointLights; }
        }

        List<BeamLight> beamLights = new List<BeamLight>();
        public List<BeamLight> BeamLights
        {
            get { return beamLights; }
        }

        Fog fog;
        public Fog Fog
        {
            get { return fog; }
        }
        #endregion


        #region Effect
        Effect effect;
        #endregion


        #region Initialization
        public SwitchEffectWrapper(Effect effect)
        {
            this.effect = effect;

            ambientLight = new AmbientLight(effect);
            directionalLights = new List<DirectionalLight>();
            directionalLights.Add(new DirectionalLight(effect));
            pointLights = new List<PointLight>();
            pointLights.Add(new PointLight(effect));
            beamLights = new List<BeamLight>();
            beamLights.Add(new BeamLight(effect));
            fog = new Fog(effect);
        }
        #endregion

    }
}
